home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / novell / nw386 / volume-3.386 < prev   
Text File  |  1996-07-10  |  12KB  |  270 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11. Chapter 3
  12. Volumes and Hard Disks
  13.  
  14.  
  15.  
  16. The hard disk on a NetWare 386 server can be divided into
  17. volumes, partitions, and segments. This section discusses
  18. these divisions and the organization and format for
  19. NetWare 386 hard disks. It includes the following
  20. sections:
  21.  
  22.    ■ Volumes       
  23.    ■ Disk Partitions       
  24.    ■ Disk I/O       
  25.    ■ Disk Allocation Blocks       
  26.    ■ FATs and Turbo FATs
  27.    ■ Total Storage Capacity
  28.  
  29.  
  30.  
  31. Volumes
  32.  
  33. A NetWare 386 server supports up to 32 NetWare volumes.
  34. A NetWare volume is a logical entity composed of at least
  35. one 1 or as many as 32 segments. Each segment can consume
  36. an entire hard disk or only a fraction of a hard disk,
  37. but it does not span hard disks. Since one NetWare 386
  38. volume could be as large as 32 hard disks, a server could
  39. be configured with one large volume (32 hard disks), each
  40. hard disk a segment in the volume.
  41.  
  42. The size of a NetWare 386 volume can be increased simply
  43. by adding another hard disk to the server, setting up a
  44. NetWare partition on the disk, and creating a new volume
  45. segment, which is part of the existing volume. This can
  46. be done while the server is running and while the volume
  47. is mounted and being accessed. A volume name consists of
  48. one byte indicating the length of the name, followed by
  49. 1 to 15 characters for a possible total of 16 bytes. Disk Partitions
  50.  
  51. Server hard disks are divided into units called
  52. partitions. A hard disk used to boot the machine would
  53. likely contain a DOS partition (the active partition) and
  54. a NetWare partition. The DOS partition allows the server
  55. to boot DOS before booting the NetWare operating system.
  56. Each of the other disks would likely contain only a
  57. NetWare partition. 
  58.  
  59. NetWare partitions are physically divided into a Hot Fix
  60. Redirection Area and usable space on the remainder of the
  61. partition. The NetWare partition contains four copies of
  62. a Volume Definition Table. These copies are located at
  63. sectors 32, 64, 96, and 128. This 512-byte table
  64. describes the rest of the partition, from sector 160 to
  65. the end. The rest of the partition consists of one to
  66. eight volume segments. Each segment can belong to a
  67. different volume.
  68.  
  69. Disk I/O
  70.  
  71. To provide disk I/O efficiency, NetWare 386 supports
  72. elevator seeking, a technique used to organize and
  73. process disk read/write requests. Each disk driver
  74. maintains two queues (call them "In" and "Out") in which
  75. disk read/write requests are stored. Only one queue is
  76. active at a time. The requests have been positioned in
  77. each queue based upon their position on the disk. For
  78. example, if the "In" queue were active, the disk head
  79. reads or writes jobs from that queue, and each successive
  80. read or write moves the head closer to the center of the
  81. disk.
  82.  
  83. Meanwhile, incoming read/write requests also fill the
  84. "Out" queue. Then, as all requests from the "In" queue
  85. are finished, the "Out" queue becomes active. The disk
  86. head begins moving outward as it reads or writes requests
  87. from the "Out" queue. By organizing disk head reads in
  88. this manner, elevator seeking reduces disk head thrashing
  89. and improves head seek times.
  90.  
  91. NetWare 386 v3.1 will further increase disk I/O
  92. efficienty by supporting disconnect devices such as the
  93. SCSI (Small Computer Systems Interface) Disconnect. On
  94. previous NetWare servers, a device driver would initiate
  95. an I/O process with a device and then wait. While the
  96. driver waited, the device prepared for I/O and then
  97. replied to the driver that it was ready to send or
  98. receive data. With disconnect, the driver still sends a message
  99. informing the device to prepare to receive or send data.
  100. And, after preparing to receive or send, the device must
  101. still send a message back to the driver to initiate disk
  102. I/O. With driver disconnect, however, the driver does not
  103. wait while the device prepares for I/O. Rather, the
  104. driver initiates a similar I/O process with other
  105. devices. Thus, driver disconnect, allows concurrent I/O
  106. on multiple channels.
  107.  
  108. Because the server uses disk drivers to read and write
  109. to hard disks, a server can only perform a certain number
  110. of disk I/Os per second if a volume is contained entirely
  111. on one hard disk. However, if the volume is scattered
  112. over two, three, or four hard disks, the server can
  113. perform two, three, or four times as many I/Os to the
  114. volume per second. Also, when the server writes to a
  115. volume, it scatters data evenly across all the segments
  116. of a volume, ensuring that all hard disks fill up at
  117. roughly the same rate.
  118.  
  119. There is a trade-off, however. Since many of a volume's
  120. files may be scattered over several volume segments (on
  121. several hard disks), the failure of one hard disk could
  122. damage many files. Because of this, all hard disks
  123. (especially those containing only part of a volume)
  124. should be mirrored.
  125.  
  126. Disk Allocation Blocks
  127.  
  128. Volumes store data in units called disk allocation blocks
  129. which come in five sizes:  4KB, 8KB, 16KB, 32KB, and
  130. 64KB. The size is configured when the volume is added to
  131. the server. Disk allocation block sizes can vary from
  132. volume to volume; however, one volume can have only one
  133. block size. A disk allocation block represents the
  134. smallest file size for that volume.
  135.  
  136. For example, suppose the disk allocation block size for
  137. a volume is configured at 4KB. Whether a file is 1,247
  138. bytes or 3,982 bytes, the file requires one 4KB block of
  139. disk space. And, whether a file is 5,782 bytes or 7,891
  140. bytes, the file would require two 4KB blocks of disk
  141. space. Thus, to achieve optimum efficiency, you must
  142. consider the size of files or data bases that your
  143. applications access. Applications that access volumes on
  144. which large files or data bases are stored would
  145. certainly want to configure larger disk allocation blocks
  146. for that particular volume. At the same time, smaller
  147. disk allocation blocks might be more ideal for another
  148. volume. File Allocation Tables (FATs)
  149.  
  150. Each volume contains a file called the File Allocation
  151. Table (FAT). The FAT is an index to one or more disk
  152. allocation blocks in which a file is located. The entire
  153. FAT is cached in server memory allowing the server to
  154. quickly access any disk allocation block of data in the
  155. volume. Because one file may be in any number of disk
  156. allocation blocks spread over the disk, the FAT links
  157. the file together.
  158.  
  159. For example, file Y has a FAT index number stored in the
  160. Directory Entry for file Y. This FAT index number points
  161. to a FAT entry which contains two pointers:
  162.  
  163.    ■ A pointer to a disk allocation block occupied by a
  164.      part of file Y
  165.  
  166.    ■ A pointer to a subsequent FAT entry
  167.  
  168. The subsequent FAT entry also contains two pointers, one
  169. to another disk allocation block occupied by another part
  170. of file Y, and one to another FAT entry. And so on, until
  171. the last FAT entry points to an End of File (EOF). Since
  172. a large file can be located in a number of disk
  173. allocation blocks scattered over the disk, the FAT
  174. entries link themselves and the disk allocation blocks
  175. together in this way.
  176.  
  177. In the illustration on the next page, the FAT index
  178. number stored in the Directory Entry for file Y tells
  179. NetWare that file Y begins at FAT entry number 6. FAT
  180. entry number 6 contains a pointer to a disk allocation
  181. block that contains the beginning of file Y. FAT entry
  182. number 6 also contains a pointer to the next FAT entry,
  183. entry number 4.
  184.    
  185. Turbo-File Allocation Table (Turbo-FAT) 
  186.  
  187. When the FAT reaches its 64th entry, NetWare allows you
  188. to bypass scanning the FAT and access files more quickly
  189. using a Turbo-File Allocation Table (Turbo-FAT). A Turbo-
  190. FAT exists for each file large enough to require 64 or
  191. more FAT entries. For example, if you wanted to access
  192. information from the 11th disk allocation block, NetWare
  193. could go directly to file Y's Turbo-FAT and, without
  194. scanning, know that it needs to access the 4th entry in
  195. the Turbo-FAT. The Turbo FAT assembles into one table the index to every
  196. disk allocation block in which a portion of a particular
  197. file exists. If a file takes up more than 64 disk
  198. allocation blocks (scattered over the disk), NetWare can
  199. simply go to the Turbo-FAT where pointers to those disk
  200. allocation blocks are assembled. Thus NetWare does not
  201. need to scan every entry of the FAT searching for
  202. pointers to those disk allocation blocks. 
  203.  
  204. When the number of disk allocation blocks exceeds 1024,
  205. every other disk allocation block is entered into the
  206. Turbo-FAT rather than every block.  
  207.  
  208.  
  209.          Hard Disk
  210.      Volume Containing           FAT          Turbo FAT   Turbo FAT
  211.         Files X & Y                             for X       for Y
  212.  
  213.                        FAT
  214.                      Entry #                       
  215.           ┌───────┐           ┌────┬────┐        ┌────┐      ┌────┐  
  216.        0  │  1st X│   <───■0  │    │   2│        │   0│      │   6│  
  217.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  218.        1  │       │   <───■1  │    │    │        │   2│      │   4│  
  219.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  220.        2  │  2nd X│   <───■2  │    │   5│        │   5│      │   9│  
  221.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  222.        3  │  4th X│   <───■3  │    │   7│        │   3│      │  11│  
  223.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  224.        4  │  2nd Y│   <───■4  │    │   9│        │   7│      │  12│  
  225.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  226.        5  │  3rd X│   <───■5  │    │   3│        │   8│      │  13│  
  227.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  228.        6  │  1st Y│   <───■6  │    │   4│        │    │      │  15│  
  229.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  230.        7  │  5th X│   <───■7  │    │   8│        │    │      │    │  
  231.           ├───────┤           ├────┴────┤        ├────┤      ├────┤  
  232.        8  │  6th X│   <───■8  │ eof  (X)│        │    │      │    │  
  233.           ├───────┤           ├────┬────┤        ├────┤      ├────┤  
  234.        9  │  3rd Y│   <───■9  │    │  11│        │    │      │    │  
  235.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  236.       10  │       │   <──■10  │    │    │        │    │      │    │  
  237.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  238.       11  │  4th Y│   <──■11  │    │  12│        │    │      │    │  
  239.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  240.       12  │  5th Y│   <──■12  │    │  13│        │    │      │    │  
  241.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  242.       13  │  6th Y│   <──■13  │    │  15│        │    │      │    │  
  243.           ├───────┤           ├────┼────┤        ├────┤      ├────┤  
  244.       14  │       │   <──■14  │    │    │        │    │      │    │  
  245.           ├───────┤           ├────┴────┤        ├────┤      ├────┤  
  246.       15  │  7th Y│   <──■15  │ eof  (Y)│        │    │      │    │  
  247.           │       │           │         │        │    │      │    │  
  248.                                     
  249.                                                           
  250.           │       │           │         │        │    │      │    │  
  251.           └───────┘           └─────────┘        └────┘      └────┘   Total Storage Capacity
  252.  
  253. Total disk storage on the NetWare 386 machine is
  254. determined by three factors: 
  255.  
  256.    ■ Size of a FAT entry is 8 bytes
  257.    ■ 386 CPU can address up to 4GB of RAM
  258.    ■ Largest disk allocation block is 64KB
  259.  
  260. Theoretically, a server can cache up to 536,870,912 FAT
  261. entries. This value is determined by dividing 4GB of
  262. total memory by 8 bytes per FAT entry. If each FAT entry
  263. indexes one 64KB disk allocation block, the server could
  264. access 32 terabytes (TB) of disk storage. Thirty-two
  265. terabytes is more than 35 trillion bytes of disk storage.
  266. To utilize all this disk storage capacity, a server would
  267. require more than 220,000 155-MB hard disks. (NetWare 386
  268. v3.0 actually supports up to 1024 hard disks, 32 volumes
  269. x 32 volume segments per volume.)
  270.